home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / text / edit / vim60rt.lha / Vim / vim60 / syntax / icon.vim < prev    next >
Encoding:
Text File  |  2001-05-05  |  7.1 KB  |  213 lines

  1. " Vim syntax file
  2. " Language:    Icon
  3. " Maintainer:    Wendell Turner <wendell@adsi-m4.com>
  4. " URL:          ftp://ftp.halcyon.com/pub/users/wturner/icon.vim
  5. " Last Change:    2001 May 4
  6.  
  7. " For version 5.x: Clear all syntax items
  8. " For version 6.x: Quit when a syntax file was already loaded
  9. if version < 600
  10.   syntax clear
  11. elseif exists("b:current_syntax")
  12.   finish
  13. endif
  14.  
  15. syn keyword  iconFunction   abs acos any args asin atan bal
  16. syn keyword  iconFunction   callout center char chdir close collect copy
  17. syn keyword  iconFunction   cos cset delay delete detab display dtor
  18. syn keyword  iconFunction   entab errorclear exit exp find flush function
  19. syn keyword  iconFunction   get getch getche getenv iand icom image
  20. syn keyword  iconFunction   insert integer ior ishift ixor kbhit key
  21. syn keyword  iconFunction   left list loadfunc log many map match
  22. syn keyword  iconFunction   member move name numeric open ord pop
  23. syn keyword  iconFunction   pos proc pull push put read reads
  24. syn keyword  iconFunction   real remove rename repl reverse right rtod
  25. syn keyword  iconFunction   runerr save seek seq set sin sort
  26. syn keyword  iconFunction   sortf sqrt stop string system tab table
  27. syn keyword  iconFunction   tan trim type upto variable where write writes
  28.  
  29. " Keywords
  30. syn match iconKeyword "&allocated"
  31. syn match iconKeyword "&ascii"
  32. syn match iconKeyword "&clock"
  33. syn match iconKeyword "&collections"
  34. syn match iconKeyword "&cset"
  35. syn match iconKeyword "¤t"
  36. syn match iconKeyword "&date"
  37. syn match iconKeyword "&dateline"
  38. syn match iconKeyword "&digits"
  39. syn match iconKeyword "&dump"
  40. syn match iconKeyword "&e"
  41. syn match iconKeyword "&error"
  42. syn match iconKeyword "&errornumber"
  43. syn match iconKeyword "&errortext"
  44. syn match iconKeyword "&errorvalue"
  45. syn match iconKeyword "&errout"
  46. syn match iconKeyword "&fail"
  47. syn match iconKeyword "&features"
  48. syn match iconKeyword "&file"
  49. syn match iconKeyword "&host"
  50. syn match iconKeyword "&input"
  51. syn match iconKeyword "&lcase"
  52. syn match iconKeyword "&letters"
  53. syn match iconKeyword "&level"
  54. syn match iconKeyword "&line"
  55. syn match iconKeyword "&main"
  56. syn match iconKeyword "&null"
  57. syn match iconKeyword "&output"
  58. syn match iconKeyword "&phi"
  59. syn match iconKeyword "&pi"
  60. syn match iconKeyword "&pos"
  61. syn match iconKeyword "&progname"
  62. syn match iconKeyword "&random"
  63. syn match iconKeyword "®ions"
  64. syn match iconKeyword "&source"
  65. syn match iconKeyword "&storage"
  66. syn match iconKeyword "&subject"
  67. syn match iconKeyword "&time"
  68. syn match iconKeyword "&trace"
  69. syn match iconKeyword "&ucase"
  70. syn match iconKeyword "&version"
  71.  
  72. " Reserved words
  73. syn keyword iconReserved break by case create default do
  74. syn keyword iconReserved else end every fail if
  75. syn keyword iconReserved initial link next not of
  76. syn keyword iconReserved procedure repeat return suspend
  77. syn keyword iconReserved then to until while
  78.  
  79. " Storage class reserved words
  80. syn keyword    iconStorageClass    global static local record
  81.  
  82. syn keyword    iconTodo    contained TODO FIXME XXX BUG
  83.  
  84. " String and Character constants
  85. " Highlight special characters (those which have a backslash) differently
  86. syn match iconSpecial contained "\\x\x\{2}\|\\\o\{3\}\|\\[bdeflnrtv\"\'\\]\|\\^c[a-zA-Z0-9]\|\\$"
  87. syn region    iconString    start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=iconSpecial
  88. syn region    iconCset    start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=iconSpecial
  89. syn match    iconCharacter    "'[^\\]'"
  90.  
  91. " not sure about these
  92. "syn match    iconSpecialCharacter "'\\[bdeflnrtv]'"
  93. "syn match    iconSpecialCharacter "'\\\o\{3\}'"
  94. "syn match    iconSpecialCharacter "'\\x\x\{2}'"
  95. "syn match    iconSpecialCharacter "'\\^c\[a-zA-Z0-9]'"
  96.  
  97. "when wanted, highlight trailing white space
  98. if exists("icon_space_errors")
  99.   syn match    iconSpaceError    "\s*$"
  100.   syn match    iconSpaceError    " \+\t"me=e-1
  101. endif
  102.  
  103. "catch errors caused by wrong parenthesis
  104. syn cluster    iconParenGroup contains=iconParenError,iconIncluded,iconSpecial,iconTodo,iconUserCont,iconUserLabel,iconBitField
  105.  
  106. syn region    iconParen    transparent start='(' end=')' contains=ALLBUT,@iconParenGroup
  107. syn match    iconParenError    ")"
  108. syn match    iconInParen    contained "[{}]"
  109.  
  110.  
  111. syn case ignore
  112.  
  113. "integer number, or floating point number without a dot
  114. syn match    iconNumber        "\<\d\+\>"
  115.  
  116. "floating point number, with dot, optional exponent
  117. syn match    iconFloat        "\<\d\+\.\d*\(e[-+]\=\d\+\)\=\>"
  118.  
  119. "floating point number, starting with a dot, optional exponent
  120. syn match    iconFloat        "\.\d\+\(e[-+]\=\d\+\)\=\>"
  121.  
  122. "floating point number, without dot, with exponent
  123. syn match    iconFloat        "\<\d\+e[-+]\=\d\+\>"
  124.  
  125. "radix number
  126. syn match    iconRadix        "\<\d\{1,2}[rR][a-zA-Z0-9]\+\>"
  127.  
  128.  
  129. " syn match iconIdentifier    "\<[a-z_][a-z0-9_]*\>"
  130.  
  131. syn case match
  132.  
  133. " Comment
  134. syn match    iconComment    "#.*" contains=iconTodo,iconSpaceError
  135.  
  136. syn region    iconPreCondit start="^\s*$\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=iconComment,iconString,iconCharacter,iconNumber,iconCommentError,iconSpaceError
  137.  
  138. syn region    iconIncluded    contained start=+"+ skip=+\\\\\|\\"+ end=+"+
  139. syn match    iconIncluded    contained "<[^>]*>"
  140. syn match    iconInclude    "^\s*$\s*include\>\s*["<]" contains=iconIncluded
  141. "syn match iconLineSkip    "\\$"
  142.  
  143. syn cluster    iconPreProcGroup contains=iconPreCondit,iconIncluded,iconInclude,iconDefine,iconInParen,iconUserLabel
  144.  
  145. syn region    iconDefine    start="^\s*$\s*\(define\>\|undef\>\)" skip="\\$" end="$" contains=ALLBUT,@iconPreProcGroup
  146.  
  147. "wt:syn region    iconPreProc "start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" "end="$" contains=ALLBUT,@iconPreProcGroup
  148.  
  149. " Highlight User Labels
  150.  
  151. " syn cluster    iconMultiGroup contains=iconIncluded,iconSpecial,iconTodo,iconUserCont,iconUserLabel,iconBitField
  152.  
  153. if !exists("icon_minlines")
  154.   let icon_minlines = 15
  155. endif
  156. exec "syn sync ccomment iconComment minlines=" . icon_minlines
  157.  
  158. " Define the default highlighting.
  159.  
  160. " For version 5.7 and earlier: only when not done already
  161. " For version 5.8 and later: only when an item doesn't have highlighting
  162. if version >= 508 || !exists("did_icon_syn_inits")
  163.   if version < 508
  164.     let did_icon_syn_inits = 1
  165.     command -nargs=+ HiLink hi link <args>
  166.   else
  167.     command -nargs=+ HiLink hi def link <args>
  168.   endif
  169.  
  170.   " The default methods for highlighting.  Can be overridden later
  171.  
  172.   " HiLink iconSpecialCharacter    iconSpecial
  173.  
  174.   HiLink iconOctalError        iconError
  175.   HiLink iconParenError        iconError
  176.   HiLink iconInParen        iconError
  177.   HiLink iconCommentError    iconError
  178.   HiLink iconSpaceError        iconError
  179.   HiLink iconCommentError    iconError
  180.   HiLink iconIncluded        iconString
  181.   HiLink iconCommentString    iconString
  182.   HiLink iconComment2String    iconString
  183.   HiLink iconCommentSkip    iconComment
  184.  
  185.   HiLink iconUserLabel        Label
  186.   HiLink iconCharacter        Character
  187.   HiLink iconNumber            Number
  188.   HiLink iconRadix            Number
  189.   HiLink iconFloat            Float
  190.   HiLink iconInclude        Include
  191.   HiLink iconPreProc        PreProc
  192.   HiLink iconDefine            Macro
  193.   HiLink iconError            Error
  194.   HiLink iconStatement        Statement
  195.   HiLink iconPreCondit        PreCondit
  196.   HiLink iconString            String
  197.   HiLink iconCset            String
  198.   HiLink iconComment        Comment
  199.   HiLink iconSpecial        SpecialChar
  200.   HiLink iconTodo            Todo
  201.   HiLink iconStorageClass    StorageClass
  202.   HiLink iconFunction        Statement
  203.   HiLink iconReserved        Label
  204.   HiLink iconKeyword        Operator
  205.  
  206.   "HiLink iconIdentifier    Identifier
  207.  
  208.   delcommand HiLink
  209. endif
  210.  
  211. let b:current_syntax = "icon"
  212.  
  213.